<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');
session_start();

class productos extends CI_Controller {

    private $establecimiento;
    private $tab;

    public function __construct() {
        parent::__construct();
        $this->estaLogueado();
        $this->esAdministrador();
        $this->load->model('_categoria_productoM');
        $this->load->model('_productoM');
        $this->load->model('_modificacion_inventarioM');
        $this->establecimiento = $_SESSION["establecimiento"]["id_establecimiento"];
        $this->tab = $_SESSION['productos']['tab'];
        //var_dump($this->tab);
    }

    public function index() {
        $data = array();
        $this->loadData($data);
        // var_dump($data);
        $this->load->view('header', $data);
        $this->load->view('productosV');
        $this->load->view('footer');
    }

    private function loadData(&$data) {
        $data['tab'] = 'productos';
        $data['categorias'] = $this->_categoria_productoM->getAll($this->establecimiento);
        $data['pestana'] = $this->tab;
        $this->getMensaje($data['mensaje']);
    }

    public function crearNuevaCategoria() {
        if (!empty($_POST)) {
            $this->escapar($_POST);
            //var_dump($_POST);
            $_POST['tiene_inventario'] = (isset($_POST['tiene_inventario'])) ? 1 : 0;
            $this->_categoria_productoM->insert($this->establecimiento, $_POST);
        }
        $this->setMensaje("Categoría creada correctamente");
        header("Location:../productos");
    }

    public function editarCategoria() {
        if (!empty($_POST)) {
            $this->escapar($_POST);
            $_POST['tiene_inventario'] = (isset($_POST['tiene_inventario'])) ? 1 : 0;
            //var_dump($_POST);
            $this->_categoria_productoM->update($this->establecimiento, $_POST);
        }
        $this->setMensaje("Categoría editada correctamente");
        header("Location:../productos");
    }

    public function eliminarCategoria() {
        if (!empty($_POST)) {
            $this->escapar($_POST);
            $this->_categoria_productoM->delete($this->establecimiento, $_POST['id_categoria_producto']);
        }
        $_SESSION['productos']['tab'] = 'categorias';
        $this->setMensaje("Categoría eliminada correctamente");
        header("Location:../productos");
    }

    public function crearProducto() {
        if (!empty($_POST)) {
            $this->escapar($_POST);
            // var_dump($_POST);
            $this->_productoM->insert($this->establecimiento, $_POST['id_categoria_producto'], $_POST);
        }
        $this->setMensaje("Producto creado correctamente");
        header("Location:../productos");
    }

    public function editarProducto() {
        if (!empty($_POST)) {
            $this->escapar($_POST);
            $this->_productoM->update($this->establecimiento, $_POST['id_categoria_producto'], $_POST);
        }
        $_SESSION['productos']['tab'] = 'productos';
        $this->setMensaje("Producto editado correctamente");
        header("Location:../productos");
    }

    public function eliminarProducto() {
        if (!empty($_POST)) {
            $this->escapar($_POST);
            //var_dump($_POST);
            $this->_productoM->delete($this->establecimiento, $_POST['id_categoria_producto'], $_POST);
        }
        $_SESSION['productos']['tab'] = 'productos';
          $this->setMensaje("Producto eliminado correctamente");
        header("Location:../productos");
    }

    public function editarInventario() {
        if (!empty($_POST)) {
            $this->escapar($_POST);
              $this->formatoFechaBD($_POST['fecha']);
           // var_dump($_POST);
              $_POST['cantidad_actual']+=$_POST['ajuste'];
//            if ($_POST['cantidad_actual'] < $_POST['cantidad_nueva']) {
//                $_POST['tipo'] = 1;
//            } else if ($_POST['cantidad_actual'] > $_POST['cantidad_nueva']) {
//                $_POST['tipo'] = -1;
//            } else {
//                $_POST['tipo'] = 0;
//            }
            //insertar la modificacion
            $this->_modificacion_inventarioM->insert($this->establecimiento, $_POST['id_categoria_producto'], $_POST['id_servicio'], $_POST);
            //actualizar el inventario
            $this->_productoM->update2cantidadActual($this->establecimiento, $_POST['id_categoria_producto'], $_POST);
        }
         $this->setMensaje("Inventario editado correctamente");
        header("Location:../productos");
    }

}
